#页面类：表单页面

from selenium.webdriver.common.by import By

from utils.page_base import PageBase

class PageForm(PageBase):
    pathUrl="/webzdh/form.html"
    loc_zanhao=By.ID,"username" #账号输入框
    loc_pwd=By.ID,"pwd" #密码输入框
    loc_sex="sex" #性别。对于单项按钮，定位特征：给name属性
    loc_guoji="guoji" #国籍
    loc_aihao="aihao" #爱好。对于复选框，定位特征：给name属性
    loc_degree="degree" #学历。对于下拉列表，定位特征：给select标签的name属性
    loc_jiesao=By.NAME,"jiesao" #自我介绍。
    loc_zaopian=By.ID,"zaopian" #文件框
    loc_birthday=By.NAME,"birthday" #出生日期。
    loc_regButton=By.CSS_SELECTOR,"input[value='注册']" #注册按钮
    loc_clearButton=By.XPATH,"//input[@type='reset'][@value='清空']" #清空按钮


    def __init__(self,driver,base_url):
        PageBase.__init__(self,driver,base_url)

    #打开当前页面
    def openUrl(self):
        self.open(PageForm.pathUrl)

    #输入账号
    def input_zanhao(self,zanhao):
        self.input(loc=PageForm.loc_zanhao,data=zanhao)

    #输入密码
    def input_pwd(self,pwd):
        self.input(loc=PageForm.loc_pwd,data=pwd)

    #选中性别
    def selectSex(self,sex):#你想要选中的选项的value属性
        self.click_radio(attrName=PageForm.loc_sex,attrValue=sex)

    #选中国籍
    def selectGuoji(self,guoji):#你想要选中的选项的value属性
        self.click_radio(attrName=PageForm.loc_guoji, attrValue=guoji)

    #选中一些爱好
    def selectAihaos(self,aihaos):#给你想要选中的这些选项的value属性，比如"","dalanqiu,tiquziu"
        self.click_checkbox(attrName=PageForm.loc_aihao,targetAttrValues=aihaos)

    #选中学历
    def selectDegree(self,degree):#给你想要选中的选项的文本内容
        self.click_select(selectAttrName=PageForm.loc_degree,data=degree)

    #输入自我介绍
    def input_jiesao(self,jiesao):
        self.input(loc=PageForm.loc_jiesao,data=jiesao)

    #上传照片
    def uploadZaopian(self,zaopianPaths):#给你想要上传的照片的路径
        self.uploadFilesOrDirs(loc=PageForm.loc_zaopian,filePaths=zaopianPaths,type="autoIt3")

    #输入出生日期
    def input_birthday(self,riqi):
        self.input_riqi(loc=PageForm.loc_birthday,riqi=riqi)


    #点击注册按钮
    def click_regButton(self):
        self.click(loc=PageForm.loc_regButton)

    #点击清空按钮
    def click_clearButton(self):
        self.click(loc=PageForm.loc_clearButton)

    #获取JS弹出框的文本内容
    def getZuceSuccessText(self):
        return self.getTextForJsTanCuKuan()

